﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using SaleSoft.Models;

namespace SaleSoft.Helper {
    public static class SelectListHelper {
        
        /// <summary>
        /// Trả về 1 SelectList danh sách nhóm quản trị để đưa vào các dropdownlist
        /// </summary>
        /// <param name="selected">Id của nhóm quản trị được chọn mặt định, có thể âm</param>
        /// <returns></returns>
        public static SelectList DSNhomQuanTri ( int? selected ) { 
            SaleSoftEntities db = new SaleSoftEntities();
            return new SelectList(db.ds_nhomquantri.OrderBy(p => p.tennhomquantri), "id_nhomquantri", "tennhomquantri", selected);
        }

        public static SelectList DSloainoidung(int? selected)
        {
            SaleSoftEntities db = new SaleSoftEntities();
            return new SelectList(db.loai_noidungweb.OrderBy(p => p.tenloai), "id_loainoidung", "tenloai", selected);
        }

        public static SelectList DSLoaiBanner ( int? selected ) {
            SaleSoftEntities db = new SaleSoftEntities();
            return new SelectList(db.loai_banner.OrderBy(p => p.tenloaibanner), "id_loaibanner", "tenloaibanner", selected);
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="loai">id của loại cần lấy. 1: Liên hê; 2: Người dùng; 3: Tin tức; 4: Banner, 5: Nội dung web, 6: Quản trị , 7: Web mẫu</param>
        /// <param name="selected">trạng thái mặt định</param>
        /// <returns>Trả về SelectList của loai tương ứng</returns>
        public static SelectList DSTrangThai (int loai, int? selected) {
            SaleSoftEntities db = new SaleSoftEntities();
            //Convert
            switch (loai) { 
                case 1:
                    loai = 1;
                    break;
                case 2:
                    loai = 2;
                    break;
                case 3:
                    loai = 3;
                    break;
                case 4:
                    loai = 4;
                    break;
                case 5:
                    loai = 5;
                    break;
                case 6:
                    loai = 6;
                    break;
                case 7:
                    loai = 7;
                    break;
            }
            return new SelectList(db.ds_trangthai.Where(o => o.id_loaitrangthai == loai).OrderBy(p => p.tentrangthai), "id_trangthai", "tentrangthai", selected);
        }

        public static SelectList DSAlbum ( int? selected ) {
            SaleSoftEntities db = new SaleSoftEntities();
            return new SelectList(db.ds_ablum.OrderBy(p => p.tenablum), "id_ablum", "tenablum", selected);
        }

        public static SelectList DSLoaiTrangThai ( int? selected ) {
            SaleSoftEntities db = new SaleSoftEntities();
            return new SelectList(db.loai_trangthai.OrderBy(p => p.tenloaitrangthai), "id_loaitrangthai", "tenloaitrangthai", selected);
        }

        public static SelectList DSLoaiWeb ( int? selected ) {
            SaleSoftEntities db = new SaleSoftEntities();
            return new SelectList(db.loai_web.OrderBy(p => p.tenloaiweb), "id_loaiweb", "tenloaiweb", selected);
        }
    }
}